Arc welding method

ABSTRACT

An arc welding method capable of easily varying welding conditions such as welding speed, voltage and electric current. The method comprises the steps of teaching a start point to start varying welding conditions such as welding speed, voltage and electric current and an end point to terminate the variations of welding conditions such as the welding speed, the voltage and the electric current, as well as setting the welding conditions at the start point and the end point for gradually varying the welding conditions such as welding speed, voltage and electric current towards end point. By simply setting positions of the start point and the end point and the welding conditions at these positions, it is possible to gradually vary the welding conditions from the conditions at the start point to the conditions at the end point while a welding torch is moved from start point to the end point, thereby contributing to the simplification of the welding condition varying procedure.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an arc welding method using anindustrial robot.

2. Description of the Related Art

In arc welding using an industrial robot, arc welding is performed whilerelatively moving a welding torch and a workpiece along a taught weldingline. In some cases, the arc welding is performed by fixing the weldingtorch and by moving the workpiece. In general, however, the weldingtorch is mounted to a wrist at a distal end of a robot arm, and arcwelding is performed by operating the robot with respect to the fixedworkpiece so that the welding torch is moved along the taught weldingline. However, there has been a problem such that, at the start ofwelding, a hole is apt to be made in the workpiece due to excessiveheating of the workpiece before the robot is accelerated (before a speedof the welding torch relative to the workpiece is accelerated). Sincethe welding heat is concentrated on an end portion of the welding linein the case where the end portion is identical with an end portion ofthe workpiece, it is necessary to reduce a welding condition so as toweld at a lower welding speed.

In TIG (Tungsten Inert Gas) arc welding for aluminum which is aheat-sensitive material, the temperature of the workpiece progressivelyrises during welding so that a welding speed must gradually be raised inaccordance with the rise of temperature of the workpiece. In welding theentire periphery of a workpiece with a small diameter, it is necessaryto increase a final welding speed two to three times the initial weldingspeed. Besides, other welding conditions (current, and voltage) mustalso be varied gradually in accordance with the variation of the weldingspeed.

Thus, in the prior art, there has been employed a method, in which, forthe purpose of varying welding conditions, auxiliary points are taughtto specify the welding speed, voltage and current between the teachingpoints, thereby gradually increasing or decreasing the weldingconditions such as welding speed, voltage, and electric current. In thiscase, a trial and error method is employed to determine a sectionbetween the auxiliary teaching points, and the welding conditions withinthe section, such as welding speed, voltage and current.

For example, in practice, even in the case of a linear weld line, whenstarting welding, a plurality of auxiliary teaching points are givenbetween a welding start position and a position on the weld line, spacedout by a predetermined amount, and progressively increasing weldingspeed, voltage and current are taught between the respective points.Further, in practice, if an end portion of a weld line is identical withan end portion of a workpiece, the auxiliary teaching points are givento divide a range from a position set by a predetermined amount ahead ofthe end portion of the weld line to the end portion into a plurality ofsections, and progressively decreasing welding speed, voltage andcurrent are taught between the respective points.

As stated above, in the conventional method, a large number of auxiliaryteaching points must be taught for the purpose of varying weldingconditions such as welding speed, voltage and current. Furthermore, itis necessary to individually teach each of the welding conditionsbetween the teaching points. Besides, since the trial and error methodis employed to determine the section between the auxiliary points,welding speed, voltage and current value, the teaching processes arevery complicated and difficult, resulting in a heavy burden on ateaching operator.

SUMMARY OF THE INVENTION

It is an object of the present invention is to provide an arc weldingmethod in which welding conditions such as welding speed, voltage andelectric current can easily be varied.

According to the arc welding method of the present invention, positionsof a start point and an end point of a section in which a weldingcondition is to be varied are taught, and welding conditions at thestart point and at the end point are taught, so that the welding isperformed with the welding condition gradually varied from the weldingcondition at the start point to the welding condition at the end pointwhile a welding torch is moved from the start point to the end point.The welding condition between the start point and the end point can bedetermined based on a predetermined function with a distance of movementfrom the start point as a variable. The welding condition includes avoltage and an electric current for welding. A first value is obtainedby dividing a difference between the set value of the welding conditionat the end point and the set value of the welding condition at the startpoint by the total number of interpolations of a motion command for thesection between the start point and the end point. A second value isobtained by multiplying the first value by an integer N. The secondvalue is added to the set value of the welding condition at the startpoint, and the resultant value is outputted for each N-th interpolationperiod while the welding torch is moved from the start point to the endpoint, so that the welding condition is gradually varied from the setvalue of the welding condition at the start point to the set value ofthe welding condition at the end point.

Further, in order to vary a welding speed, (1) an amount of a motioncommand to be output to each axis of the robot is obtained for eachinterpolation period based on a distance from the present position tothe position of said end point and the present speed, and the totalnumber of interpolations is obtained. (2) the amount of the motioncommand is outputted to each axis for each interpolation period so as todrive the robot. (3) the present speed is added to a value obtained bymultiplying a quotient of a speed difference by the total number ofinterpolations by a set number of times of interpolation, to update thecurrent speed for each set number of times of interpolation, said speeddifference being obtained by subtracting the present speed from thewelding speed at the end point, so that the welding speed is graduallyvaried from the set value of the welding speed at the start point to theset value of the welding speed at the end point.

Further, in order to vary the welding condition in accordance with thevariation of the welding speed, the welding condition at the start pointas well as the welding condition at the end point are set and, thewelding condition can be gradually varied in the section from the startpoint to the end point in the same manner as the welding speed.

When arc welding is TIG (Tungsten Inert Gas) welding, an electriccurrent of the welding conditions is varied. Further, when the weldingspeed has to be varied, it can be done according to the above-mentionedmethod of varying the welding speed.

It is thereby possible to avoid a poor weld due to excessive heating ofa workpiece at a start of welding, or due to concentration of weldingheat when an end point of welding is identical with an end of aworkpiece, and a poor weld due to progressive heating of a workpieceduring welding in aluminum TIG welding.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a welding robot system for executing an arcwelding method of the present invention;

FIG. 2 is a diagram showing an example of the arc welding according tothe present invention;

FIG. 3 is a diagram showing another example of the arc welding accordingto the present invention;

FIGS. 4 a to 4 d are diagrams showing welding condition settingaccording to a welding condition number 1 in the example of the arcwelding shown in FIG. 2;

FIGS. 5 a to 5 d are diagrams showing welding condition settingaccording to a welding condition number 2 in the example of the arcwelding shown in FIG. 2;

FIGS. 6 a to 6 c are diagrams showing welding condition settingaccording to a welding condition number 1 in the example of the arcwelding shown in FIG. 3;

FIGS. 7 a to 7 c are diagrams showing welding condition settingaccording to a welding condition number 2 in the example of the arcwelding shown in FIG. 3;

FIGS. 8 a to 8 c are diagrams showing welding condition settingaccording to a welding condition number 3 in the example of the arcwelding shown in FIG. 3;

FIG. 9 is a flowchart of main processes of the arc welding methodaccording to the present invention;

FIG. 10 is a flowchart of a subroutine A;

FIG. 11 is a flowchart of a subroutine A1;

FIG. 12 is a flowchart of a subroutine B; and

FIG. 13 is a flowchart of a subroutine C.

DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 is a block diagram of a welding robot system for carrying out anarc welding method according to an embodiment of the present invention.

A robot controller 10 has a processor 11, and the processor 11 isconnected through a bus 19 to a ROM 12 storing a system program, etc., aRAM 13 used for temporary storage of data, a nonvolatile memory 14storing a teaching operation program, data for a welding condition tabledescribed infra and the like, a teaching console panel 15, with a LCDindicator, to teach an operation program to the robot, a robot axiscontroller 16, and a welding machine interface 17. A welding machine 30is connected to the welding machine interface 17, and a servo motor ofeach axis of a robot body 20 is connected to the robot axis controller16 through a servo circuit 18 of each axis.

The processor 11 reads the teaching operation program stored in thenonvolatile memory 14 to drive the servo motor of each axis of the robotbody 20 via the robot axis controller 16 and the servo circuit 18,thereby making a welding torch mounted on a wrist at a distal end of arobot arm to move along the taught weld line. Further, according to theteaching operation program, the processor 11 outputs an arc ON outputsignal and a gas ON output signal to the welding machine 30 through thewelding machine interface 17. In addition, the processor 11 makes thewelding machine interface 17 convert into analog signals weldingconditions such as current and voltage read from the welding conditiontable for output to the welding machine 30 to drive the welding machine.

Described in the foregoing is the outline of the welding robot system.Such welding robot system is identical with that in the prior art, sothat a detailed description of a structure thereof is omitted. Theoperation procedure of the welding robot system according to the presentinvention will be described later, together with the processing to beexecuted by the processor 11.

First referring to FIG. 2, an embodiment of the present invention willbe described taking an example of a case where welding for the workpieceW is to be performing along a straight line extending from a weldingstart position 1 to a welding end position 4.

In this case, the teaching process is concerned with teaching points,namely, the welding target start position 1, a position 2 at which thetarget welding conditions such as current, voltage and welding speed,which have gradually been increased from the welding start position 1,are reached, a position 3 at which decreasing of welding conditionsincluding the welding speed are to be started and the welding endposition 4. In the teaching process, a section from the position 1 tothe position 2 is defined as a section in which the welding conditions(welding speed, voltage and current) are gradually increased, and asection from the position 3 to the position 4 is defined as a section inwhich the welding conditions are gradually decreased. According to aconventional method, it is necessary to teach a plurality of auxiliarypoints for dividing into a plurality of sections each of the sectionfrom the position 1 to the position 2 and the section from the position3 to the position 4 in which the welding conditions are varied. However,according to the present invention, it is sufficient to teach only theposition 2 and the position 3 as the auxiliary points (the position 1and the position 4 need to be taught when only the weld line is to betaught, and the position 2 and the position 3 are to be taughtadditionally as the auxiliary points when the sections in which thewelding conditions including the welding speed are varied are to betaught).

Further, welding conditions for each section are preset together with acorresponding welding condition number in the welding condition table,and previously stored in the nonvolatile memory 14, whereby weldingconditions can be taught by teaching the welding condition numberrelating to the welding condition table.

In a welding operation shown in FIG. 2, a teaching program mayillustratively be described as follows:

1: LINEAR POSITION [1] 500 mm/sec POSITIONING 2: ARC START [1] 3: LINEARPOSITION [2] WELDING SMOOTH 100 SPEED 4: LINEAR POSITION [3] WELDINGSMOOTH 100 SPEED 5: ARC START [2] 6: LINEAR POSITION [4] WELDINGPOSITIONING SPEED 7: ARC STOP . . . . . .

Program End

In this teaching program, “LINEAR POSITION (1)” on the first line is amotion command for moving to the taught position 1 according to linearinterpolation, 500 mm/sec is a moving velocity command, and“POSITIONING” is a command for positioning at a commanded position whiledecelerating.

“ARC START [1]” on the second line is a command for starting weldingaccording to the welding conditions (such as voltage, current and speed)set in the first welding condition table, or varying the weldingconditions.

“LINEAR POSITION [2]” on the third line is a motion command for movingto the taught position 2 according to the linear interpolation, and“WELDING SPEED” indicates to move at a welding speed set in a weldingcondition table (the first welding condition table in this case)specified in the (latest) “ARC START” command given before the currentline. Further, “SMOOTH 100” is a command for outputting a next motioncommand immediately after the start of deceleration according to thepresent motion command, without effecting the positioning following thedeceleration according to the present motion command.

Commands on the fourth line are substantially identical with those onthe third line, except that the taught position 3 is specified as acommanded destination of movement.

In addition, as in the commands on the second line, in commands on thefifth line, a welding condition table number “2” is specified as awelding condition table containing variable welding conditions.

The sixth line corresponds to a command for moving to and positioning atthe taught position 4, and the seventh line is a command for stoppingarc. Subsequently, after various types of additional commands are given,the last command for indicating a program end is executed to terminatethe teaching operation program.

That is, the above program has the following steps: positioning at theposition 1 (the commands on the first line), starting the arc at theposition to start welding under the welding conditions set in the firstwelding condition table (the command on the second line), welding bymoving the welding torch to the taught position 2 at the welding speedset in the first welding condition table (the commands on the thirdline, during this step, as will be described later, the weldingconditions are varied gradually if a “slope function” is enabled as thewelding condition), outputting the command for moving to the taughtposition 3 following the completion of output of the command for movingto the taught position 2 (the commands on the fourth line under thewelding conditions set in the first welding condition table), changingthe welding conditions into those set in a second welding conditiontable following the completion of output of the command for moving tothe taught position 3 (the command on the fifth line), moving to thetaught position 4 (the commands on the sixth line), and stopping the arcafter positioning at the taught position 4 (the command on the seventhline) to terminate welding.

Next, a description will be given of how to set the welding conditions.

The teaching console panel 15 is operated to display the weldingcondition table on the LCD. As shown in FIG. 4 a, the welding conditiontable showing the welding conditions, namely, “Voltage”, “Current”“Welding Speed” and a question about the necessity of enabling the“Slope Function” for gradually varying the welding conditions firstappear on the screen.

In the illustration of FIG. 4 a, the voltage is set to 19V, the currentto 200 A, and the welding speed to 60 cm/min. Further, as an additionalwelding condition at a welding start time, the slope function is enabledto gradually vary the welding conditions. When “Slope Data” in a columnis selected and input by the cursor, display is replaced with thedisplay of the data for setting the slope of current as in shown in FIG.4, that is, the data for setting a variation characteristic thereof. Inthis case, the set value of 200 A is initially displayed. However, acurrent at a start point can be set to a value of, for example, 150 A soas to be increased up to the set value of 200 in a given welding path(the path between the start point and an end point, i.e., the pathbetween the position 1 to the position 2 in the example of FIG. 2) sothat the current can gradually be increased from 150 A up to 200 A in asection from the start point to the end point as shown in FIG. 4 b. Inthis example, since the start points are defined as the position 1 ofFIG. 2, and the end points as the position 2, the setting indicates thatthe current is gradually increased from 150 A to 200 A during themovement from the position 1 to the position 2. That is, teaching theposition 2 as the auxiliary position means teaching a position at whichthe target welding conditions are to be attained. Moreover, if the slopefunction is disabled, the function for gradually varying the weldingconditions is not executed, and welding is started from the start pointunder conditions set in the welding condition table.

After setting the slope data of current, any one of the “Voltage” and“Speed” displayed at the lower portion on the screen can be selected. Ifthe “Voltage” is selected, FIG. 4 c is displayed on the LCD screen. Ifthe speed is selected, FIG. 4 d is displayed. Though the voltage (19V)and the welding speed (60 cm/min) previously set as the target valuesare initially displayed, the slope data as shown in FIGS. 4 c and 4 dcan be displayed when the voltage (17V in FIG. 4 c) and the weldingspeed (55 cm/min in FIG. 4 d) are set at the start point. Moreover, theslope data setting menus for the current, voltage and welding speed canrespectively be invoked from two other menus. That is, it is possible toinvoke each setting menu by selecting one of the items of current,voltage and speed, displayed at the lower portion of the screen.

As stated above, when all the setting data in the first weldingcondition table are input, and a setting completion command is input, asecond welding condition table setting menu (see FIG. 5 a) will appearon the screen. In this case, the welding conditions during the movementfrom the position 3 to the position 4 in FIG. 2 are set. Thus, thewelding conditions at the position 4, the end point, are set in thesecond welding condition table. In the illustration shown in FIG. 5 a,the voltage is set to 17V, the current to 155 A, and the welding speedto 55 cm/min as reduced welding conditions. Further, the slope datashown in FIGS. 5 b to 5 d are for setting the welding conditions for apath beginning after the start point (position 3) is reached. That is,in this example, the slope data are set so that the current of 200 A,the voltage of 19V and the welding speed of 60 cm/min are set accordingto the welding conditions set in the first welding condition table at astart point, and the these conditions are reduced to the set values of155 A, 17V and 55 cm/min at the end point.

As described above, the welding conditions are set in the weldingcondition tables for teaching the robot controller 10 the weld line (theposition 1 and the position 4 in FIG. 2) and the auxiliary positions(the position 2 and the position 3 in FIG. 2), used to set the sectionsin which the welding conditions are gradually varied, as the operationprogram, and the operation program is stored in the nonvolatile memory14, whereby in response to an operation start command, the processor canbe made to start processing shown in the flowcharts of FIGS. 9 to 13.

The processing by the processor 11 will be described by the teachingprogram for the welding operation shown in FIG. 2 as an example,referring to the flowcharts of FIGS. 9 to 13.

First, a process is executed to set to “0” a variable C on a registerstoring the welding condition number, and set to “1” next is a variablei on a counter to count the line number of the teaching program (StepsS1, S2). Then, a process is executed to read the line of the teachingprogram, represented by the variable i (Step S3) and to determinewhether a command on the current line is a motion command, an arc startcommand, an arc stop command, other command or a program end command(Steps S4, S7, S9 and S11). It is to be noted that other commands areomitted in FIG. 9. In the case of the motion command serving as acommand for moving the welding torch, the processing proceeds to asubroutine A (Steps S4, S5), to a subroutine B, in the case of the arcstart command (Steps S7, S8), and to a subroutine C, in the case of thearc stop command (Steps S9, S10). Further, in the case of the programend command (Step Si1), the operation is terminated.

In the case of the welding operation shown in FIG. 2, the teachingprogram described above is applied. In this case, first, the command forpositioning to the position 1 is given to start processing of thesubroutine A, and it is determined whether or not the command is a“WELDING SPEED” command (Step a1). In this case, the command is not the“WELDING SPEED” command, so that the speed (500 mm/sec) commanded on theline is set to a variable F1 (Step a2). Subsequently, the process isexecuted to calculate a distance from the present position (weldingtorch position) to the commanded position (position 1) so as to set thedistance to a variable L1 (Step a3). Further, pulse distribution(commanded amount of movement) sent to the servo circuit of each axis ofthe robot for each interpolation period is calculated based on the speedstored as the variable F1 and the distance of movement according to thecurrent command stored as the variable L1. Further, the total number ofinterpolations is set to a variable N1, the speed stored as the variableF1 is set to a variable F0, the voltage stored as the variable V1 is setto a variable V0, and the current stored as the variable A1 is stored ina variable A0 (Step a4). At this point in time, “0” is stored as thevariables V1, V0, A1 and A0, since any data is not yet stored for thevariables V1 and A1.

Next, it is determined whether or not the present position of weldingtorch found from present position of each axis of the robot coincideswith the target position (position 1) commanded on the current line(Step a5). If not coinciding, the amount of distributed pulse determinedin Step a4 is output to the servo circuit of each axis, and a positionof the welding torch moved in response to the output is stored as apresent position (Step a7). The motion command is output through theservo circuit 18 to the servo motor of each axis so as to drive theservo motor of each axis, thereby starting movement of the weldingtorch. Subsequently, the processor 11 determines whether or not a flagH1 indicating that the condition is in the process of interpolation is“0” (Step a8). Since the flag is initialized to “0”, the process returnsto Step a5, and the processing in Steps a5, a7 and a8 are repeated foreach interpolation period, thereby moving the welding torch at thecommanded position (position 1) for positioning.

Further, when the present position reaches the target position (position1), the condition interpolation flag H1 is set to “0” (Step a6), and theprocess returns to the main processing. The variable i is incremented by“1” (Step S6), and the process is executed to read the line (secondline) of the teaching program, represented by the variable i (Step S3).In the teaching program shown in FIG. 2, the arc start command is read,so that the processing proceeds to Steps S4, S7 and S8 to execute thesubroutine B. The number (1) specified by the arc start command isstored as the welding condition number variable C (Step b1).Subsequently, the arc ON output signal and the gas ON output signal areset ON and output through the welding machine interface 17 to thewelding machine 30 (Step b2). Further, it is determined whether or notthe slope function is enabled in the welding condition tablecorresponding to the welding condition number (1) stored for thevariable C (Step b3). In the welding operation shown in FIG. 2, sincethe slope function is enabled as described above, the processingproceeds to Step b5 where the condition interpolation flag H1 is set to“1”. The values of voltage and current at the start point, set by thedisplayed slope data menus are output to the welding machine interface17 for conversion into analog signals to be output to the weldingmachine 30 (Step b6), and the process returns to the main processing.Moreover, if it is determined in Step b3 that the slope function isdisabled, the processing proceeds to Step b4 to output the voltage andthe current stored in the welding condition table, and returns the mainprocessing.

The variable i is incremented by “1” (Step S6), and the process isexecuted to read the line (third line) of the teaching program,represented by the variable i (Step S3). In this case, the command beingfor moving to the position 2, the processing proceeds from Step S4 toStep S5 to start the processing of the subroutine A. In this case, the“WELDING SPEED” command causes the process to proceed from Step al toStep a all to determine whether or not the welding condition numbervariable C is “0”. Since the welding start command on the second line ofthe teaching program has already set the welding condition number (1)for the variable (see Step b1 in FIG. 12), that is, the variable is not“0”, the processing proceeds to Step a13. Moreover, in Step all, when itis determined that the valuable C of the welding condition number “0”,an alarm is given to indicate that the arc start command is not yettaught (Step a12), thereby terminating the operation.

In Step a13, it is determined whether or not the condition interpolationflag H1 is “0”. Since the flag H1 has already been set to “1”, theprocessing proceeds to Step a14 to set to the variable F1, V1 and A1 thewelding speed, the voltage and the current at the start point, whichhave been set by the welding condition slope data having the weldingcondition number specified by the variable C, and set the welding speed,the voltage and the current at the end point to variables F2, V2, and A2respectively. In the case described above, settings are made so thatF1=55(cm/min), V1=17(V), A1=150(A), F2=60(cm/min), V2=19(V), andA2=200(A).

The above-mentioned processing in Steps a3, a4 are performed to find anamount of distributed pulse for each interpolation period at the speed(F1) at the start point, and the total number of interpolations N1, andthe values of the variables F1, V1 and A1 are stored for the variablesF0, F0 and A0. If the present position has not reached the targetposition (position 2) when the processing has proceeded to Step a5, theabove-mentioned processing in Step a7 is performed. Then, it isdetermined whether or not the condition interpolation flag H1 is “0”(Step a8). In this case, since the flag H1 has already been set to “1”,the processing proceeds to subroutine A1. In the subroutine A1, voltageset to V1 (=V0) and current set to Al (=A0) are output to be convertedin the welding machine interface 17 into analog voltage and analogcurrent, and then output to the welding machine 30 (Step a101).Subsequently, a value obtained by subtracting the current welding speedstored as the variable F0 from the welding speed (60) at the end point,stored as the variable F2, is divided by the total number ofinterpolations N1 found in Step a4. The quotient is added to thevariable F0, and the sum is stored as the variable F1. That is, thewelding speed stored as the variable F1 is increased or decreased(increased in this case) by the value obtained by equally dividing thedifference in welding speed between the end point and the start point bythe total number of interpolations. Further, similarly, a voltagedifference (V2−V0) between the end point and a current point is equallydivided by the total number of interpolations N1, and the quotient isadded to the variable V0. The resulting voltage is stored as thevariable V1 to increase or decrease the voltage. Further, similarly, adifference (A2−A0) in the value of current between the end point and thepresent point is equally divided by the total number of interpolationsN1, and the quotient is added to the variable A0. The resulting value isstored as the variable A1 to increase or decrease the current (Stepa102).

Subsequently, the processing returns to the subroutine A1 to proceed toStep a10 where it is determined whether or not the value (welding speed)stored as the variable F1 is identical with the value stored as thevariable F0. In this case, the value of the variable F1 has been variedby the above-mentioned processing in Step a102, both the values are notidentical. Thus, the processing returns to Step a3 to find a distancefrom a present position (the welding torch having been moved by thepulse distribution from the start point, the present position beingdifferent from the start point) to the position (position 2) commandedon the present line, and the result in the variable L1. Further, pulsedistribution to each axis for each interpolation period is determinedbased on the variable F1 (the changed welding speed) and the variableL1, and concurrently the new total number of interpolations isdetermined to be stored as the variable N1. Besides, the values of thevariables F1, V1 and A1 are stored as the variables F0, V0 and A0 (Stepa4).

If the present position has not reached the target position (position2), the amount of distributed pulse to each axis, calculated in Step a4,is output to the servo circuit of each axis, and the present position isupdated (Steps a5, a7). Further, since the condition interpolation flagH1 has been set to “1”, the processing proceeds from Step a8 to Step a9to carry out the above-mentioned subroutine A1. The voltage (V1) and thecurrent (A1) calculated in the preceding Step a102 are output (Stepa101). Concurrently, the process is executed to equally divide, by thenew total number of interpolations N1 found in Step a4, a differencebetween the welding speed at the end point stored as the variable F2 andthe present welding speed stored as the variable F0, a differencebetween the voltage at the end point stored as the variables V2 and thecurrent voltage stored as the variable V0, and a difference between thecurrent at the end point stored as the variable A2 and the currentstored as the variable A0. The quotients are respectively added to thevariables F0, V0 and A0, and the sums are stored as the variables F1, V1and A1. Thereafter, the processing returns to the subroutine A. Sincethe different values are stored as the variables F1 and F0, theprocessing returns from Step a10 to Step a3 to repeatedly carry out theabove-mentioned processing in Steps a3 to a5, and Steps a7 to a10. Thisgradually increases not only the welding speed, but also the voltage andthe current, as being welding conditions, as the section from theposition 1 to the position 2. When it is determined in Step a5 that thepresent position has reached the target position (position 2), thewelding speed voltage and current have also reached the end pointwelding speed (60 cm/min), end point voltage (19V), the end pointcurrent (200 A) respectively.

Subsequently, the processing proceeds to Step a6 to set the conditioninterpolation flag H1 to “0”, and returns to the main processing toincrement the variable i by “1”, and read the line (fourth line) of theteaching program, represented by the variable i. The command on the lineis a command for moving to the position 3, so that the processingproceeds from Step S4 to the subroutine A in Step S5. Concurrently, thecommand on the line is the “WELDING SPEED” command, the weldingcondition number variable C is not set to “0” but “1”, and the conditioninterpolation flag H1 is “0”. Thus, the processing proceeds to Steps a1,a11, a13 and a16 to set to the variable F1 the welding speed (60 cm/minin this case) at the end point, which is set as the slope data in thewelding condition table, stored by the welding condition number variableC (1 in this case), thereby performing the processing in Step a3 andlater Steps. As discussed previously, the pulse distribution to eachaxis is determined depending upon the welding speed stored as thevariable F1 and output. Since the condition interpolation flag H1 is setto “0”, the processing in Steps a5, a7, and a8 are repeated until thepresent position reaches the target position (position 3). Thus, weldingspeed will not vary, so that the welding torch is moved at a constantspeed. Further, the voltage and current are the voltage and the currentset by the first welding condition table and output when the position 2is reached (see Step a101), resulting in no variations in voltage andcurrent. As a result, the welding is performed in the section from theposition 2 to the position 3, without variations in welding speed,voltage and current, i.e., under the same welding conditions.

When the present position reaches the target position (position 3), thecondition interpolation flag H1 is set to “0” once again (Step a6).Subsequently, the processing returns to the main processing to incrementthe variable i by 1, and read the line (fifth line) represented by thevariable i (Step S3). The line is for the arc command, so that theprocessing proceeds to Step S4, S7 and S8 to perform the processing ofthe subroutine B. That is, the welding condition table number “2” is setfor the welding condition number variable C, and the arc ON and gas ONoutput signals, although which have already been output, are outputagain to the welding machine 30. As described above, the weldingconditions as shown in FIGS. 5 are set in the specified second weldingcondition table, and the slope function is enabled (the slope data beingset to reduce the welding condition). Hence, the condition interpolationflag Hi is set to “1”, and voltage and current (identical with thevoltage 19V and the current 200 A output during movement from theposition 2 to the position 3) at the start point in the slope data areoutput (Steps b1 to b3, b5, and b6), thereafter returning to the mainprocessing.

When the variable i is incremented by “1”, and the next line (sixthline) is read, the next line is for a command for moving to the position4, so that the processing to proceed from Step S4 to Step S5 to carryout the subroutine A. In this case, in the teaching program (sixthline), the “WELDING SPEED” command is given, the welding conditionnumber variable C is set to “2”, and the condition interpolation flag H1is set to “1”. Thus, the processing proceeds to Steps a1, a11, a13 anda14. As stated above, in Steps a14 and a15, the welding speed (60cm/nin), the voltage (19V) and the current (200 A) at the start point ofthe slope data of the second welding condition table represented by thevariable C are set for the variables F1, V1 and A1, and the weldingspeed (55 cm/min), the voltage (17V) and the current (155 A) at the endpoint are set for the variables F2, V2 and A2. Then, the processingproceeds to Step a3 described above. In this case, since the conditioninterpolation flag H1 is set to “1”, the processing proceeds to Stepsa3, a4, a5, a7, a8 and a9, thereafter carrying out the subroutine A,i.e., outputting the voltage and the current, and varying the weldingspeed (F1), the voltage (V1) and the current (A1). Further, the variableF1 is varied so that the variable F1 differs from the variable F0. Theprocessing returns from Step a10 to Step a3, thereafter repeatedlyperforming the processing in the Steps a3 to a5, and a7 to a10 until thepresent position is identical with the target position (position 4) inStep a5. In this case, the welding conditions are lower at the end pointso that the welding speed, voltage and current will gradually bedecreased.

When the present position reaches the position 4, the target position,the condition interpolation flag H1 is set to “0”, the variable i isincremented by “1”, and the next line (seventh line) is read (Steps a6,S3). In this case, the “ARC STOP” command is read, so that theprocessing proceeds to Steps S4, S7, S9 and S10 to perform theprocessing of the subroutine C. That is, an arc output signal and a gasoutput signal to the welding machine 30 are set OFF (Step c1) to setvoltage output and current output to “0” (Step c2), thereby stopping thewelding operation of the welding machine, and setting the variable C to“0” (Step c3). Thereafter, the processing returns to the mainprocessing. Then, the variable i is incremented by “1”, and the nextline is read to carry out the above-mentioned processing. When theprogram end command is finally read (Step S11), the welding operationcomes to an end.

As described above, while the welding torch is moving from the position1 to the position 2, the welding speed is gradually increased from 55 to60 cm/min, the voltage is gradually increased from 17 to 19V, and thecurrent is from 150 to 200 A. Further, in the section from the position2 to the position 3, welding is made at a constant welding speed of 60cm/min with a constant voltage of 19V and the constant current of 200 A.Subsequently, in the section from the position 3 to the position 4, thewelding speed is gradually decreased from 60 to 55 cm/min, the voltageis gradually decreased from 19 to 17V, and the current is from 200 to155 A.

Moreover, when either one or both of the voltage and the current arevaried with the welding speed kept constant, the variable F1 coincideswith the variable F0 in Step a10. Then, the processing returns from Stepa10 to Step a5, thereby repeating the processing in Steps a5 and a7 toa10. In this case, welding speed will not vary, so that total number ofinterpolations will not vary from the start point to the end point, andthe voltage value and the current value updated for each interpolationperiod in Step a102 are output in Step a101.

Further, in the above embodiment, the voltage, current and welding speedare varied for each interpolation period for the slope control in theabove embodiment, but may be varied every plurality of interpolationperiods. In this case, a counter is provided between Steps a101 anda102, and the counter is counted up for each distribution of the motioncommand. When a count value does not reach a set value, the processingexits from the subroutine A1, and proceeds to Step a10. Since thevariable F1=F0, the processing returns to Step a5 to output the samevoltage and the same current. When the count value reaches the set value(for example, n), the counter is reset, and the processing proceeds toStep a102. Here, difference between the value at the end point and thepresent value is divided by the total number of interpolations N1, thequotient is multiplied by the set value (n) of the counter, and theproduct is added to the current value to update the value. That is, thefollowing processing are performed in Step a102:

F1←F0+n(F2−F0)/N1

V1←V0+n(V2−V0)/N1

A1←A0+n(A2−A0)/N1

As described above, at the welding start time or when the welding endportion is identical with an end of the workpiece, it is possible togradually increase or decrease the welding speed, the voltage and thecurrent corresponding one another. Hence, it is possible to avoid atrouble such that a hole is made in the workpiece due to excessiveheating of the workpiece at the welding start time. Further, optimalwelding can be obtained, since the welding conditions can gradually bereduced even at the welding end portion. Besides, it is sufficient toteach, as auxiliary teaching points, a start point and an end point ofeach section in order to set the section in which the welding conditionsare varied (actually only one auxiliary teaching point being required,because, in general, one of the start point and the end point of thesection coincides with welding start position or the welding endposition), thereby contributing to simplification of teaching operation.

Next, a description will be given of a case where welding conditions arevaried in peripheral welding of a cylindrical workpiece using TIG arcwelding. In TIG arc welding, only a welding speed and a current arespecified as the welding conditions. In the following illustration, thewelding speed is increased to be doubled, while the current is heldconstant though the current may also be varied.

FIG. 3 shows an example of taught positions in the case of TIG arcwelding. In this case, welding is started from a position 1, and iscarried out up to a position 3 with a variation of welding speedspecified by a welding condition number 1. Further, welding is made fromthe position 3 up to a position 5 with a variation of welding speedspecified by a welding condition number 2, and further welding is donefrom the position 5 up to the position 1 with a variation of weldingspeed specified by a welding condition number 3, conforming to thepositions taught accordingly. The welding being made along a locus ofcircular arc, a position 2 as an intermediate position between theposition 1 and the position 3, a position 4 as an intermediate positionbetween the position 3 and the position 5, and a position 6 as anintermediate position between the position 5 and the position 1 aretaught respectively. A teaching program for the TIG welding may bedescribed as follows:

1: LINEAR POSITION [1] 500 mm/sec POSITIONING 2: ARC START [1] 3:CIRCULAR ARC POSITION [2] WELDING SPEED POSITION [3] SMOOTH 100 4: ARCSTART [2] 5: CIRCULAR ARC POSITION [4] WELDING SPEED POSITION [5] SMOOTH100 6: ARC START [3] 7: CIRCULAR ARC POSITION [6] WELDING SPEED POSITION[1] POSITIONING 8: ARC STOP . . . . . .

Program End

Further, in setting the welding conditions, as shown in a weldingcondition table with the welding condition number 1 in FIG. 6 a, acurrent is set to 140 A, a welding speed is set to 40 cm/min, and aslope function is enabled to vary the welding speed. Further, asindicated in the slope data of FIGS. 6 b, 6 c, current is kept constant,and a welding speed, to be increased gradually, is set to 30 cm/min thestart position 1.

Similarly, under welding condition numbers 2 and 3, welding conditionsare set as shown in FIGS. 7 and 8, with a constant current set to 140 A,the welding speed set to continuously and gradually increase from 30cm/min at the position 1, the welding start position, to 40 cm/min atthe position 3, and to 60 cm/min at the position 1, the welding endpoint.

Then, the robot controller 10 executes the above teaching program tostart the above-mentioned processing in FIGS. 9 and on. Since a commandon a first line is a motion command for positioning, the processing inSteps S1 to S5 are executed. In the processing by the subroutine 5 inStep S5, the command is not the “WELDING SPEED” command, so that theprocessing in Steps a1 to a5 are performed. The condition interpolationflag H1 is “0”, so that processing in Steps a5, a7 and a8 are repeatedto position the welding torch at the position 1. Then, the processingproceeds to Steps a6, S6 and S3 to read the next line (second line). Thesecond line being for arc start command, the processing proceeds toSteps S4, S7 and S8 to carry out the processing of the subroutine B. Thewelding condition number “1” is stored for a welding condition numbervariable C, and an arc ON output signal and a gas ON output signal areoutput to the welding machine. Since the slope function is enabled, thecondition interpolation flag H1 is set to “1”, and the current value(140 A) for the start point set as the slope data with the weldingcondition number “1” is output. Then, the processing exits from thesubroutine B to return to the main processing. Moreover, only thecommand for the current is output because no command is given forvoltage in TIG welding. Subsequently, the processing returns to the mainprocessing to carry out the processing in Steps S6 and S3 to read acommand on the next line (third line). The command is a command forcircular arc up to the position 3, so that the processing proceeds toSteps S4, S5. At the same time, the “WELDING SPEED” command is given,the welding condition number variable C is set to “1”, and the conditioninterpolation flag H1 is set to “1”. Hence, in the subroutine A in StepS5, the processing proceeds to Steps a1, a11, a13, a14 and a15 to setfor variables F1 and A1 the welding speed and the current at the startpoint, which are set in the slope data with the welding condition number(1) stored in the welding condition number variable C, and to set awelding speed and a current at an end point for variables F2 and A2(without processing for the voltage). Then, the processing proceeds toSteps a3, a4 to determine pulse distribution for each interpolationperiod to store the total number of interpolations for a variable N1,and the variables F1, V1 and A1 for variables F0, A0 and A0. Since thecondition interpolation flag H1 is set to “1”, the processing isexecuted in Steps a5, a7 and a8, and proceeds to the processing by thesubroutine A1 in Step a9. Then, the current set for the variable A1 isoutput, a value obtained by subtracting the variable F0 from thevariable F2 is divided by the total number of interpolations N1 found inStep a4. The quotient is added to the variable F0, and the sum is setfor the variable F1. Further, a value obtained by subtracting thevariable A0 from the variable A2 is divided by the total number ofinterpolations N1. The quotient is added to the variable A0, and the sumis set for the variable A1. In this case, the current value at the startpoint is identical with that at the end point, so that A2=A1=A0, andthus the value of variable A1 remains unchanged.

The processing, after completing the processing of the subroutine A1,proceeds to Step a10. Since the variable F1 is varied and thus differsfrom the variable F0, the processing returns from Step a10 to Step a3 torepeatedly carry out the processing in Steps a3 to a5 and a7 to a10while updating the total number of interpolations N1 and varying(increasing in this case) the welding speed. Hence, the welding speed isgradually increased from 30 cm/min at the position 1 to 40 cm/min at theposition 3.

When the welding torch position reaches the position 3, the processingproceeds from Step a5 to Steps a6, S6 and S3 to read the next line(fourth line). The line gives the ARC START command, so that theprocessing of the subroutine B is performed to set the welding conditionnumber (=2), specified by the command, for the variable C, thereaftercarrying out the same processing as that described above. Subsequently,when the next line (fifth line) is read, the command is for end and for“WELDING SPEED”. Hence, in Steps a14 and a15, data (40 cm/min) for thestart point and data (50 cm/min) for the end point set in the slope datawith the welding condition number (=2) specified for the weldingcondition number variable C are set, and the values of the current atthe start point and the end point are set for the variables A1, A2. Inthis case, the current values are identical, so that the identical valueof 140 A is set.

In the subsequent processing, as discussed in the above, the weldingspeed is gradually increased for each cycle of interpolation of themotion command in the section from the position 3 to the position 5,thereby increasing the welding speed from 40 cm/min at the position 3 to50 cm/min at the position 5. Then, when the position 5 is reached, thenext welding condition number 3 is set, and the welding speed isincreased for each interpolation period from 50 to 60 cm/min in thesection from the position 5 to the position 1 in the same manner asdescribed above.

As a result, the welding speed is controlled to increase, with eachinterpolation period, from 30 cm/min at the welding start time to adouble speed, 60 cm/min, at the welding end time when whole peripheralwelding is completed.

Moreover, the processing when the “ARC STOP” command and the “PROGRAMEND” command are read are the same as those in the above-mentionedillustration, and thus descriptions thereof are omitted.

According to the present invention, the welding conditions can graduallybe varied in the specified section from the start point to the endpoint. Thus, it is possible to avoid poor weld resulting from excessiveheating of the workpiece at the welding start point or welding end pointcoincides with the edge of the workpiece. Further, in TIG arc welding ofaluminum workpiece, it is also possible to gradually vary (increase) thewelding conditions including the welding speed in particular for optimalwelding. Furthermore, it is sufficient to teach the positions of thestart point and the end point at which the welding conditions aregradually varied, and set the welding conditions at these positions,thereby contributing to easier teaching.

What is claimed is:
 1. An arc welding method for performing a weldingoperation by relatively moving a welding torch and a workpiece using anindustrial robot, comprising: teaching positions of a start point and anend point of a section in which a welding condition is to be varied;setting a value of the welding condition at said start point and a valueof the welding condition at said end point; and performing the weldingoperation with the welding condition gradually and continuously variedfrom the set value of the welding condition at said start point to theset value of the welding condition at said end point according to theposition of the welding torch.
 2. An arc welding method according toclaim 1, wherein said performing the welding operation includesgradually varying the welding condition based on a predeterminedfunction with a distance of movement from said start point as avariable.
 3. An arc welding method for performing a welding operation byrelatively moving a welding torch and a workpiece using an industrialrobot comprising: teaching positions of a start point and an end pointof a section in which a welding condition is to be varied; setting avalue of the welding condition at said start point and a value of thewelding condition at said end point; and performing the weldingoperation with the welding condition gradually varied from the set valueof the welding condition at said start point to the set value of thewelding condition at said end point while said welding torch is movedfrom said start point to said end point, wherein said performing thewelding operation further comprises: obtaining a first value by dividinga difference between the set value of the welding condition at said endpoint and the set value of the welding condition at said start point bythe total number of interpolations of a motion command for the sectionbetween said start point and said end point; obtaining a second value bymultiplying said first value by an integer N; and adding said secondvalue to the set value of the welding condition at said start point, andoutputting the resultant value for each N-th interpolation period whilesaid welding torch is moved from said start point to said end point. 4.An arc welding method according to claim 3, wherein said weldingcondition includes a voltage for welding.
 5. An arc welding methodaccording to claim 3, wherein said welding condition includes anelectric current for welding.
 6. An arc welding method according toclaim 5, wherein said arc welding is TIG welding.
 7. An arc weldingmethod for performing a welding operation by relatively moving a weldingtorch and workpiece using an industrial robot, comprising: teachingpositions of a start point and an end point of a section in which awelding condition is to be varied; setting a value of the weldingcondition at said start point; and performing the welding operation bygradually varying a welding speed from a welding speed at said startpoint to a welding speed at said end point with the welding speed atsaid start point as an initial value of the present speed, while saidwelding torch is relatively moved from said start point to said endpoint, repeatedly executing the following; obtaining an amount of amotion command to be output to each axis of the robot for eachinterpolation period based on a distance from the present position tothe position of said end point and the present speed, and obtaining thetotal number of interpolations; outputting said amount of the motioncommand to said each axis for each interpolation period so as to drivethe robot; and adding the present speed to a value obtained bymultiplying a quotient of a speed difference by the total number ofinterpolations by a set number of times of interpolation to update thecurrent speed for each set number of times of interpolation, said speeddifference being obtained by subtracting the present speed from thewelding speed at said end point.
 8. An arc welding method according toclaim 7, wherein said outputting said amount of the motion commandfurther comprising outputting a present value of the welding conditionfor each interpolation period, with the welding condition at said startpoint as an initial value of the present welding condition, and updatingthe present value of the welding condition for each set number of timesof interpolation by adding the present value of the welding condition toa value obtained by multiplying a quotient of a difference by the totalnumber of interpolations, by the set number of times of interpolation,said difference being obtained by subtracting the present value of thewelding condition from the set value of the welding condition at saidend point; and said performing the welding operation includes graduallyvarying the welding condition from the set value of the weldingcondition at said start point to the set value of the welding conditionat said end point by repeatedly executing the obtaining, outputting andadding.
 9. An arc welding method according to claim 8, wherein saidwelding condition includes a voltage for welding.
 10. An arc weldingmethod according to claim 8, wherein said welding condition includes anelectric current for welding.
 11. An arc welding method according toclaim 10, wherein said welding is a TIG welding.
 12. An arc weldingapparatus comprising: a teaching unit teaching positions of a startpoint and an end point, and teaching welding conditions for the startpoint and the end point, respectively, of a section in which a weldingcondition is to be varied; and a control unit varying the weldingcondition gradually and continuously according to a position of a robotarm while the robot arm is moved from the start point to the end point.